package cn.bigcontainer.alt.meta.service;

import java.io.File;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

import cn.bigcontainer.alt.meta.dto.MFileDto;

public interface MFileService {

	/**
	 * 获取服务端文件的相对路径
	 * @param module 模块名，会用作根目录，不设置默认为upload
	 * @param name 文件名
	 * @return
	 */
	public String getRelativePath(String module, String name);
	
	/**
	 * 获取服务端文件的绝对路径
	 * @param module
	 * @param name
	 * @return
	 */
	public String getAbsolutePath(String module, String name);
	
	/**
	 * 上传文件
	 * @param file
	 * @param req
	 * @return
	 */
	MFileDto upload(MultipartFile file, Map<String, Object> req);
	
	/**
	 * 后台生成文件，供平台下载
	 * @param name
	 * @param file
	 * @param req
	 * @return
	 */
	MFileDto upload(String module, String name, Map<String, Object> req);

	MFileDto getById(Integer id);

	File getFile(Integer id);
	
	/**
	 * 获取服务端上传文件根路径
	 * @return
	 */
	String getRootDir();
}
